/*
 * ui_yx_offset.h
 *
 *  Created on: 2018-4-16
 *      Author: root
 */

#ifndef UI_YX_OFFSET_H_
#define UI_YX_OFFSET_H_

#define DC_IND_EMERSTOP_FAULT_OFFSET		                                     4                                      //急停按钮动作故障
#define DC_IND_SMOKE_ALARM_OFFSET		                                         5                                      //烟感故障
#define DC_IND_AC_BREAKER_OFFSET		                                             6                                      //交流输入断路器故障
#define DC_IND_DC_OUT_CONTACTOR_OFFSET		                                 7                                      //直流母线输出接触器拒动/误动故障
#define DC_IND_DC_OUT_FUSES_OFFSET		                                         8                                      //直流母线输出熔断器故障
#define DC_IND_INTERFACE_ELE_LOCK_FAULT_OFFSET                      	 9                                      //充电接口电子
#define DC_IND_CHARGE_FAN_OFFSET		                                           10                                      //充电桩风扇故障
#define DC_IND_THUNDERBOLT_OFFSET		                                       11                                      //避雷器故障
#define DC_IND_INSULATION_OFFSET		                                           12                                      //绝缘监测故障
#define DC_IND_BATTERY_REVERSE_OFFSET		                                   13                                      //电池极性反接故障
#define DC_IND_CHARGING_CAR_GUIDE_OFFSET	                               14                                      //充电中车辆控制导引故障
#define DC_IND_PILE_OVERTURNED_OFFSET		                                   15                                      //充电桩过温故障
#define DC_IND_GUNS_OVERTURNED_OFFSET		                               16                                      //充电接口过温故障
#define DC_IND_GUNS_NO_HOMELESS_OFFSET		                           17                                      //充电枪未归位告警
#define DC_IND_BMS_COMMUNICATION_OFFSET		                           18                                      //BMS 通信故障
#define DC_IND_INPUT_V_OVER_OFFSET		                                       19                                      //输入电压过压故障
#define DC_IND_INPUT_V_UNDER_OFFSET		                                   20                                      //输入电压欠压故障
#define DC_IND_DC_BUS_OUT_V_OVER_OFFSET		                           21                                      //直流母线输出过压故障
#define DC_IND_DC_BUS_OUT_V_UNDER_OFFSET	                               22                                      //直流母线输出欠压故障
#define DC_IND_DC_BUS_OUT_A_OVER_OFFSET		                           23                                      //直流母线输出过流故障
#define DC_IND_CHARGE_MODULE_OFFSET		                                   24                                      //充电模块故障
#define DC_IND_MODULE_AC_INPUT_OFFSET		                               25                                      //充电模块交流输入故障
#define DC_IND_MODULE_AC_IN_V_OVER_OFFSET	                           26                                      //充电模块交流输入过压故障
#define DC_IND_MODULE_AC_IN_V_UNDER_OFFSET	                           27                                      //充电模块交流输入欠压故障
#define DC_IND_MODULE_AC_IN_PHASE_OFFSET	                               28                                      //充电模块交流输入缺相故障
#define DC_IND_MODULE_DC_OUT_SHORT_OFFSET	                           29                                      //充电模块直流输出短路故障
#define DC_IND_MODULE_DC_OUT_A_OVER_OFFSET	                       30                                      //充电模块直流输出过流故障
#define DC_IND_MODULE_DC_OUT_V_OVER_OFFSET	                       31                                      //充电模块直流输出过压故障
#define DC_IND_MODULE_DC_OUT_V_UNDER_OFFSET                       32                                       //充电模块直流输出欠压故障
#define DC_IND_MODULE_OVERTURNED_OFFSET		                           33                                      //充电模块过温故障
#define DC_IND_MODULE_COMMUNICATION_OFFSET            	           34                                      //充电模块通信故障
#define DC_IND_MODULE_FAN_OFFSET		                                           35                                      //充电模块风扇故障
#define DC_IND_CONNECT_CAR_OFFSET		                                       36                                      //车辆连接状态             0连接  1未连接
#define DC_IND_GUNS_STATUS_OFFSET		                                           37                                      //充电桩充电枪座状态  0连接  1未连接
#define DC_IND_ELE_LOCK_STATUS_OFFSET		                                   38                                      //充电接口电子锁状态  0解锁  1 锁止
#define DC_IND_DC_OUT_CONTACTOR_STATUS_OFFSET	                   39                                      //直流输出接触器状态  00H： 分断  01H： 闭合
#define DC_IND_PRIVATE_WARN_NUM_OFFSET                                    40                                     //私有告警编号
#define DC_IND_PRIVATE_VALUE_OFFSET	                                            41                                     //私有告警数值
#define DC_IND_DOOR_FAULT_OFFSET	                                                                       42               //门禁故障
#define DC_IND_DC_BUS_OUT_CONTACTOR_ADHESION_FAULT_OFFSET                   43               //直流输出接触器粘连故障
#define DC_IND_INSULATION_WARN_OFFSET	                                                           44               //绝缘监测告警
#define DC_IND_DISCHARGE_LOOP_WARN_OFFSET                                                    45              //泄放回路故障
#define DC_IND_CHARGE_PILE_OVERTURNED_WARN_OFFSET                                   46               //充电桩过温告警
#define DC_IND_CHARGE_GUN_OVERTURNED_WARN_OFFSET                                  47               //充电枪过温告警
#define DC_IND_AC_IN_CONTACTOR_ERR_ACTION_OFFSET                                        48             //交流输入接触器据动/误动故
#define DC_IND_AC_IN_CONTACTOR_ADHESION_FAULT_OFFSET                               49              //交流输入接触器粘连故障
#define DC_IND_ASSIST_POWER_FAULT_OFFSET                                                          50              //辅助电源故障
#define DC_IND_PARALLEL_CONTACTOR_ERR_ACTION_OFFSET                                  51              //并联接触器据动/误动故障
#define DC_IND_PARALLEL_CONTACTOR_ADHESION_FAULT_OFFSET                         52              //并联接触器粘连故障


//01： 充电中控制导引故障
//02： 控制器与计费控制单元通讯超时
//03： 急停按钮动作故障
//04： 门禁故障
//05： 避雷器故障
//06： 烟感故障
//07： 交流输入断路器故障
//08： 交流输入接触器据动/误动故障
//09： 交流输入接触器粘连故障
//10： 交流输入故障（过压， 欠压， 缺相，过流）
//11： 充电桩过温故障
//12： 充电接口过温故障
//13： 充电接口电子锁故障
//14： 绝缘监测故障
//15： 电池极性反接故障
//16： 直流输出接触器据动/误动故障
//17： 直流输出接触器粘连故障
//18： 直流输出熔断器故障
//19： 并联接触器据动/误动故障
//20： 并联接触器粘连故障
//21： 泄放回路故障
//22： 辅助电源故障
//23： 充电机模块故障
//24： 直流输出电压过压故障
//25： 直流输出电压欠压故障
//26： 直流输出电流过流故障
//27： 直流输出短路故障
//28： 电池最高允许充电电压小于充电机最小输出电压
//29： 绝缘监测前直流输出接触器外侧电压≥10 V
//30： 启动充电前直流输出接触器外侧电压与通信报文电池电压相差＞±5%
//31： 启动充电前直流输出接触器外侧电压小于充电机最小输出电压
//32： 启动充电前直流输出接触器外侧电压大于充电机最大输出电压
//33： 电池端电压大于电池最高允许充电电压
//34： BRM 报文接收超时
//35： BRM 报文数据项异常（报文数据长度错误， BMS 通信协议版本号错误， 其他数据错误）
//36： BCP 报文接收超时
//37： BCP 报文数据项异常（报文数据长度错误， 电池当前电压越限， 其他数据项错误）
//38： BRO 报文（0x00） 接收超时
//39： BRO 报文（0xAA） 接收超时
//40： 充电机其他故障


YX_ERR_WARN yxerr_tab[]={
		{DC_IND_EMERSTOP_FAULT_OFFSET,"急停按钮动作故障"},
		{DC_IND_SMOKE_ALARM_OFFSET	, "烟感故障"},
		{DC_IND_AC_BREAKER_OFFSET,"交流输入断路器故障"},
		{DC_IND_DC_OUT_CONTACTOR_OFFSET,"直流母线输出接触器拒动/误动故障"},
		{DC_IND_DC_OUT_FUSES_OFFSET, "直流母线输出熔断器故障"},
		{DC_IND_INTERFACE_ELE_LOCK_FAULT_OFFSET , "充电接口电子"},
		{DC_IND_CHARGE_FAN_OFFSET, "充电桩风扇故障"},
		{DC_IND_THUNDERBOLT_OFFSET, "避雷器故障"},
		{DC_IND_INSULATION_OFFSET,"绝缘监测故障"},
		{DC_IND_BATTERY_REVERSE_OFFSET,"电池极性反接故障"},
		{DC_IND_CHARGING_CAR_GUIDE_OFFSET,"充电中车辆控制导引故障"},
		{DC_IND_PILE_OVERTURNED_OFFSET,"充电桩过温故障"},
		{DC_IND_GUNS_OVERTURNED_OFFSET,"充电接口过温故障"},
		{DC_IND_GUNS_NO_HOMELESS_OFFSET,"充电枪未归位告警"},
		{DC_IND_BMS_COMMUNICATION_OFFSET,"BMS 通信故障"},
		{DC_IND_INPUT_V_OVER_OFFSET, "输入电压过压故障"},
		{DC_IND_INPUT_V_UNDER_OFFSET, "输入电压欠压故障"},
		{DC_IND_DC_BUS_OUT_V_OVER_OFFSET, "直流母线输出过压故障"},
		{DC_IND_DC_BUS_OUT_V_UNDER_OFFSET, "直流母线输出欠压故障"},
		{DC_IND_DC_BUS_OUT_A_OVER_OFFSET,"直流母线输出过流故障"},
		{DC_IND_CHARGE_MODULE_OFFSET, "充电模块故障"},
		{DC_IND_MODULE_AC_INPUT_OFFSET,  "充电模块交流输入故障"},
		{DC_IND_MODULE_AC_IN_V_OVER_OFFSET,  "充电模块交流输入过压故障"},
		{DC_IND_MODULE_AC_IN_V_UNDER_OFFSET,   "充电模块交流输入欠压故障"},
		{DC_IND_MODULE_AC_IN_PHASE_OFFSET,     "充电模块交流输入缺相故障"},
		{DC_IND_MODULE_DC_OUT_SHORT_OFFSET,    "充电模块直流输出短路故障"},
		{DC_IND_MODULE_DC_OUT_A_OVER_OFFSET,   "充电模块直流输出过流故障"},
		{DC_IND_MODULE_DC_OUT_V_OVER_OFFSET,   "充电模块直流输出过压故障"},
		{DC_IND_MODULE_DC_OUT_V_UNDER_OFFSET,  "充电模块直流输出欠压故障"},
		{DC_IND_MODULE_OVERTURNED_OFFSET,"充电模块过温故障"},
		{DC_IND_MODULE_COMMUNICATION_OFFSET,"充电模块通信故障"},
		{DC_IND_MODULE_FAN_OFFSET,"充电模块风扇故障"},
        {DC_IND_CONNECT_CAR_OFFSET,"车辆连接状态"},  	//  0连接  1未连接
        {DC_IND_GUNS_STATUS_OFFSET,  "充电桩充电枪座状态"},//  0连接  1未连接
     	{DC_IND_ELE_LOCK_STATUS_OFFSET,"充电接口电子锁状态"},// 0解锁  1 锁止
   	    {DC_IND_DC_OUT_CONTACTOR_STATUS_OFFSET,"直流输出接触器状态"},//  00H： 分断  01H： 闭合
      	{DC_IND_PRIVATE_WARN_NUM_OFFSET,"私有告警编号"},
   	    {DC_IND_PRIVATE_VALUE_OFFSET	,"私有告警数值"},

		{DC_IND_DOOR_FAULT_OFFSET, "门禁故障" },
		{DC_IND_DC_BUS_OUT_CONTACTOR_ADHESION_FAULT_OFFSET, "直流输出接触器粘连故障" },
		{DC_IND_INSULATION_WARN_OFFSET, "绝缘监测告警" },
		{DC_IND_DISCHARGE_LOOP_WARN_OFFSET, "泄放回路故障" },
		{DC_IND_CHARGE_PILE_OVERTURNED_WARN_OFFSET, "充电桩过温告警" },
		{DC_IND_CHARGE_GUN_OVERTURNED_WARN_OFFSET, "充电枪过温告警" },
		{DC_IND_AC_IN_CONTACTOR_ERR_ACTION_OFFSET, "交流输入接触器据动/误动故障" },
		{DC_IND_AC_IN_CONTACTOR_ADHESION_FAULT_OFFSET, "交流输入接触器粘连故障" },
		{DC_IND_ASSIST_POWER_FAULT_OFFSET, "辅助电源故障" },
		{DC_IND_PARALLEL_CONTACTOR_ERR_ACTION_OFFSET, "并联接触器据动/误动故障" },
		{DC_IND_PARALLEL_CONTACTOR_ADHESION_FAULT_OFFSET, "并联接触器粘连故障" }

};

/* 交流 遥信 数组下标偏移  pf=0x32  pgn=12800 */
#define AC_IND_EMERSTOP_OFFSET			                                                                    5               //急停按钮动作故障
#define AC_IND_THUNDERBOLT_OFFSET		                                                                6               //避雷器故障
#define AC_IND_OVERTHRNED_OFFSET		                                                                    8               //充电桩过温故障
#define AC_IND_INPUT_V_OVER_OFFSET		                                                                9               //输入电压过压故障
#define AC_IND_INPUT_V_UNDER_OFFSET		                                                               10              //输入电压欠压故障
#define AC_IND_OUT_CONTACTOR_STATUS_OFFSET	                                                   11              //交流输出接触器状态
#define AC_IND_CHARGING_CAR_GUIDE_OFFSET	                                                       12              //充电中车辆控制导引故障
#define AC_IND_AC_CONTACTOR_OFFSET		                                                               13              //交流输出接触器拒动/误动故障
#define AC_IND_OUT_A_OVER_FAULT_OFFSET	                                                           15              //输出过流故障
#define AC_IND_AC_BREAKER_OFFSET		                                                                   16              //交流输入断路器故障
#define AC_IND_INTERFACE_ELE_LOCK_OFFSET	                                                           17              //充电接口电子锁状态
#define AC_IND_INTERFACE_ELE_LOCK_FAULT_OFFSET	                                               18              //充电接口电子锁故障
#define AC_IND_INTERFACE_OVERTURNED_OFFSET	                                                   19              //充电接口过温故障
#define AC_IND_PE_DISCONNECT_OFFSET		                                                               23               //PE 断线故障
#define AC_IND_DOOR_FAULT_OFFSET                                                                          24               //门禁故障
#define AC_IND_OUT_CONTACTOR_ADHESION_FAULT_OFFSET                                    27              //交流输出接触器粘连故障


YX_ERR_WARN yxerr_ac_tab[] = {

		{AC_IND_EMERSTOP_OFFSET	,"急停按钮动作故障"	},	//                                                        5               //
		{AC_IND_THUNDERBOLT_OFFSET,	"避雷器故障"}	 ,  //                                                        6               //
		{AC_IND_OVERTHRNED_OFFSET,	"充电桩过温故障"}	,   //                                                    8               //
		{AC_IND_INPUT_V_OVER_OFFSET,	"输入电压过压故障"}	 ,       //                                           9         //
		{AC_IND_INPUT_V_UNDER_OFFSET,	"输入电压欠压故障"	}  ,   //                                         10              //
		{AC_IND_OUT_CONTACTOR_STATUS_OFFSET,	"交流输出接触器状态"}  , //                          11              //
		{AC_IND_CHARGING_CAR_GUIDE_OFFSET,	"充电中车辆控制导引故障"  } , //                     12              //
		{AC_IND_AC_CONTACTOR_OFFSET,	"交流输出接触器拒动/误动故障"},//	                            13              //
	    {AC_IND_OUT_A_OVER_FAULT_OFFSET	, "输出过流故障"} ,   //                                                 15              //
		{AC_IND_AC_BREAKER_OFFSET,	"交流输入断路器故障"	},     //                                               16              //
		{AC_IND_INTERFACE_ELE_LOCK_OFFSET,"充电接口电子锁状态"	} , //                                  17              //
		{AC_IND_INTERFACE_ELE_LOCK_FAULT_OFFSET,"充电接口电子锁故障"},	  //                         18              //
		{AC_IND_INTERFACE_OVERTURNED_OFFSET,	"充电接口过温故障" } ,   //                              19              //
		{ AC_IND_PE_DISCONNECT_OFFSET,	"PE 断线故障"	} , //                                                           23               //
		{AC_IND_DOOR_FAULT_OFFSET,"门禁故障" }  ,         //                                                              24               //
		{AC_IND_OUT_CONTACTOR_ADHESION_FAULT_OFFSET,"交流输出接触器粘连故障"}  , //       27              //

};

typedef struct
{
	unsigned char offset;
    char exp[64];
}YX_ERR_WARN;


#endif /* UI_YX_OFFSET_H_ */
